The invention is a computer implemented method of storing, manipulating, accessing, and displaying data and its relationships, and a computer system (with memory containing data) programmed to implement such method.
Today""s GUI (graphical user interface) software requires a great deal of training for proficiency. They rarely show their context and rarely show internal data and control points. The actions of applications should be fast and easy to use, not confusing and restrictive.
Shortcomings of current technologies include the following:
Awkward Navigation: Navigating a current GUI is to learn how the programmers have organized the data and the control points. Today""s UI (user interface) relies on windows and pull-down menus which hide prior ones as the user makes selections, and an often-complex series of mouse selections to navigate to the desired control point. In performing an action after traversing a path of pull-down menus and button selections on different sub-windows, the user may be returned to the beginning, forced to retrace their steps if they wish to apply an action repeatedly. The UI does not shift from one state to another in a smooth way.
Relationships are Invisible: Current GUI""s with pop-up menus and layers of text-based windows. Today""s GUI""s suffer from a list mentality: rows of icons with little or no meaning in their position, no relationships readily-visible between themselves or to concepts which the user may be interested in or have knowledge of.
The standard GUI concept of a canvas with buttons and pull-downs-require reading and thinking about the meaning of text to, hopefully, grasp the model of control flow. Virtually no information is given outside of static text to help the user understand relationships and control points.
Access to Crucial Data is Confusing: Gaining access to fields or parameters in current applications can also be a challenge. For example, the Microsoft POP mail retrieval service uses a configuration profile defined by the user to access the mail server, and displays the name of that configuration when logging. Although one sees evidence of the existence of this configuration, how does one change it? The answer may not be obvious. An object-oriented system that implemented all actions on an object could also provide the mechanism of self-deletion, but this helps only if the object itself is visible and accessible via the GUI. This is what DataSea does. Windows technology is moving in this direction, by having many words in menus modifiable, but DataSea achieves this automatically by virtue of its design.
GUI Design is bug-prone: A complex GUI, such as a presentation and control system for database administration, today consists of many canvases and widgets which hopefully present, through multiple mouse clicks, all information that is available. Any data can be changed by any part of the program, and this leads to bugs if the programmer can not easily see these interactions. A DataSea presentation of data and control shows all the objects and their relationships, and thus shows immediately what nodes can affect changes to the data, reducing bugs. To turn a DataSea view into an xe2x80x9capplicationxe2x80x9d means to set internal parameters, create and link together application nodes, and add programmatic instructions to these nodes. DataSea will implement a means to invoke these instructions.
Interoperability Conflicts: DataSea can serve as the single source of data for any application. Any RDBMS (relational database management system) can do this, but DataSea is completely flexible in its data storage and linkage, guaranteeing forward compatibility by eliminating the risk of changes to database structure and entity-relationships of RDBs (Relational Databases).
Two separate DataSea databases can be joined, and automatic linkage routines will merge them without programmer effort. This is generally impossible in RDBs. This joining can occur by simply adding nodes and links from the two data sets, and adding together the contents of the master index, NameListObj. Or, the two data sets can be blended, merging their contents: taking two nodes with the same name from the two separate data sets, creating one node which has all the links from the two separate nodes.
In most storage systems, especially RDBMS""s, the user must know how information is stored in the computer and which parameter or parameters that the computer is using to store the data, as well as the proper range of values. This is often non-intuitive and may seem somewhat arbitrary for a non-technical user. Ideally, the computer would better mimic human associative memory, allowing the user to look for new information associated with that which is better known, such as a particular context, or a range of values without regard to parameterization, to specify the target of interest.
OLAP (online analytical processing) and data mining require both analytical models and custom code to apply these models to particular database structures. These customizations may be hard-coded, non-portable and irrelevant to the model. The DataSea API (application programming interface) provides access to all data while eliminating the need to worry about database structure such as tables, columns and foreign keys.
Shortcomings of more recent data presentation technologies include the following:
Non-linear Viewing: Up-coming non-linear presentation tools such as fish-eye or hyperbolic views do not address the difficult problem of how to lay out the data and their relationships before the viewing method is applied. These may be useful, but do not address the difficult issue of how the graph is laid out initially. Nor are they appropriate for highly linked data sets, because the plethora of links resembles a cobweb from a psychotic spider.
Virtual Reality: VR takes advantage of visual clues and spatial awareness, but only for data sets that may be appropriately mapped to a 3-dimensional space. Generally data is N-dimensional and thus, in general, virtual-reality which models information as physical objects in 3D space is inappropriate for viewing arbitrary data.
Voice Interface: even more than a GUI, voice control needs a smooth transition from state to state in response to commands so that the user can follow what is happening. GUIs hide previous states with new windows, while the present invention moves objects gradually and continuously in response to programmatic or user events.
The inventive method (referred to as xe2x80x9cDataSeaxe2x80x9d) is a method for storing, accessing, and visualizing information. Data is stored into nodes and visualized as a xe2x80x98seaxe2x80x99 of linked nodes. Nodes can contain anything such as documents, movies, telephone numbers, applications or words containing concepts. Interactions with the user organize the data from a defined, and then refined, point of view, with relevant data brought to their attention by smooth changes in the data""s appearance.
Essentially, a handful of nodes (which are typically selected by value) are linked to the point of view turning the web of data into a hierarchical network. Further order is imposed by the use of two types of commands: one which relies on the data values, the other on the links and types of the data nodes.
The user typically enters words into a computer programmed in accordance with DataSea and watches DataSea""s response. Individual nodes are rendered according to the sequence of nodes between themselves and the point of view, allowing different presentations of data. Applications may be stored into nodes and can be located and executed by DataSea. These applications can operate on and present information from DataSea in the conventional manner, with windows and menus, or by using the DataSea mechanisms of visualization, including the so-called virtual reality mode (xe2x80x9cVR-modexe2x80x9d) which supports deterministic data placement as needed in such things as forms and spread sheets.
Examples of use include:
1. Entering keywords and phrases selectively retrieves and emphasizes different data types such as loose notes and email, but these entered keywords and phrases need not match exactly the content of the resulting emphasized data.
2. Direct and specific information is retrieved: The user enters the name of xe2x80x9cJim Smithxe2x80x9d followed by an appropriate command such as xe2x80x9cbackxe2x80x9d or xe2x80x9candxe2x80x9d along with the phrase xe2x80x9cPhone numberxe2x80x9d which refers to a pre-existing AN. Jim""s telephone number becomes obvious as it approaches the point of view, which in this case is xe2x80x9cJim Smithxe2x80x9d.
3. A manufacturing facility has test data from machines and 3-D models of those machines. These data sources are integrated and the user can visualize the facility from different points of view, e.g. a virtual reality mode, tabular presentation or the standard DataSea network connectivity display.